﻿using System;
using System.Linq;
using GDM.Hogar.Entidades;
using GDM.Hogar.Managers.Contratos;

namespace GDM.Hogar.Aplicacion.Formularios.Estadisticas
{
    public partial class FrmEstadisticas
#if DEBUG
 : FrmConsultaIntegrante
#else
        : FrmConsulta<ConsultaIntegrante>
#endif
    {
        private readonly IIntegranteManager _integranteManager;
        private EstadisticaInscHogar[] estadisticasHogar;

        public FrmEstadisticas(IIntegranteManager integranteManager)
        {
            if (integranteManager == null)
                throw new ArgumentNullException("integranteManager");

            _integranteManager = integranteManager;
            InitializeComponent();
        }

        private void InicializarEstadisticas()
        {
            estadisticasHogar = new EstadisticaInscHogar[3];
            var altas = new EstadisticaInscHogar
            {
                Descripcion = "Altas",
                DatoDelMes = new int[12]
            };
            var bajas = new EstadisticaInscHogar
            {
                Descripcion = "Bajas",
                DatoDelMes = new int[12]
            };
            var totales = new EstadisticaInscHogar
            {
                Descripcion = "Total Inscriptos",
                DatoDelMes = new int[12]
            };
            estadisticasHogar[0] = altas;
            estadisticasHogar[1] = bajas;
            estadisticasHogar[2] = totales;

            estadisticasHogar[0].DatoDelMes[0] = 30;
            estadisticasHogar[1].DatoDelMes[0] = 0;
            estadisticasHogar[2].DatoDelMes[0] = 30;
        }

        private void CalcularEstadisticas()
        {
            Datos = _integranteManager.ObtenerIntegrantes();
            foreach (var integrante in Datos)
            {
                var mesInscripcion = integrante.FechaInscripcion.Month;
                var mesBaja = integrante.FechaBaja.HasValue ? integrante.FechaBaja.Value.Month : -1;
            }
        }

        private void FrmEstadisticas_Load(object sender, EventArgs e)
        {
            InicializarEstadisticas();
            CalcularEstadisticas();
            var list = estadisticasHogar.ToList();
        }
    }
}
